DC motors are utilized in a variety of systems such as in disk drives. A typical disk drive includes a DC spindle motor for rotating a data disk, and an actuator for moving a head carrier that supports read/write heads radially across the data disk to access data stored on concentric data tracks on the data disk. The spindle motor can be a brushless DC motor having multiple phase coils arranged as a stator, and a rotor having a permanent magnet for rotating, the data disk. During an acceleration phase, the motor is commutated to start from standstill and accelerate to its operational speed. Thereafter, the motor is commutated to maintain that operational speed, by sequentially energizing selected phase coils based on the location of the rotor relative to the phase coils. The energized coils generate forward torque inducing magnetic fields relative to the rotor magnet that rotate the rotor.
In order to ensure that proper phase coils are energized to apply forward torque to the rotor, indirect or sensorless position detection systems, such as back electromotive force ("BEMF") detectors, are utilized to determine the rotor position relative to the phase coils. BEMF detectors sense BFMF voltage transitions in the phase coils, generated by magnetic flux caused by a moving rotor, to identify the proper phase coils to be energized. Specifically, when the rotor is moving, the change in the course and direction of the magnetic field lines emanating from the rotor magnet causes a magnetic flux through the phase coils, inducing a current in the phase coils. The current induced in the phase coils is a function of the rotor speed or the frequency of magnetic transitions in the phase coils due to the magnetic flux through the phase coils. The induced current develops BEMF voltages across resistors electrically connected in series with the phase coils, wherein the BEMF voltages provide rotor position information. Once the rotor position is determined, the motor is commutated by sequentially energizing appropriate phase coils via a coil driver which provides drive currents to the selected phase coils to provide forward torque to the rotor.
The amount of drive current in each coil determines the strength of forward torque inducing magnetic fields and the rotational speed of the rotor. Conventional motor driver circuits typically include a speed controller circuit for controlling the speed of the rotor by controlling the level drive current provided to the selected coils by the coil driver. To accelerate the rotor, the speed controller circuit causes the coil driver to increase the level of drive currents to the selected phase coils, and to reduce the speed of the rotor, the controller causes the coil driver to reduce the level of drive currents to the selected phase coils.
However, a major disadvantage of conventional motor driver circuits is that to reduce the speed of the rotor, the speed controller circuit causes the coil driver to stop driving the selected phase coils so that the rotor coasts to a lower speed. And, in order to stop the rotor, the coil driver reduces the drive currents to zero, whereby the phase coils generate zero torque and the rotor coats to a stop. The amount of time for coasting the rotor to a lower speed or to a stop depends on the rotational speed and inertia of the rotor, friction and the load on the motor.
In many applications it is necessary to shorten the rotor coast time. For example, in disk drives, it is important to quickly bring the disk drive spindle motor to a stop in response to a host stop command. This is because normally read/write heads "glide" over a layer of air above the rotating data disk without touching the data disk. However, below a certain data disk rotational speed, the transducer heads begin to "ride" the data disk, resulting in data disk damage and wear. Reducing the coast time of the rotor shortens the amount of time during which the read/write heads ride the data disk. One method of reducing the coast time has been to short all the phase coils to ground. However, shorting the phase coils to ground causes high current flow in the coils and circuit components, resulting in damage and premature failure.
There is, therefore, a need for a method and circuit for quickly decelerating a brushless DC motor a desired speed or to a stop without causing high current flow in the motor coils and supporting electronics.